home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 026-050 / scopedisk28 / danspool / readme < prev    next >
Text File  |  1995-03-18  |  13KB  |  311 lines

  1.  
  2.             DAN'S PRINT SPOOLER
  3.             -------------------
  4.  
  5. The contents of this file and other files in this distribution are
  6. Copyright (C) 1988 by Daniel L. Barrans, all rights reserved. This is a
  7. shareware product. You may copy and distribute this product freely as long
  8. as:
  9.  
  10. 1) No more than a minimal fee is charged for copying and distribution,
  11. 2) This file remains intact and is distributed with the software, and
  12. 3) The software is distributed ONLY in its original, unmodified state.
  13.  
  14. If you like this product and use it, please send money ($25.00 or thereabouts)
  15. to keep me from thinking that I wasted my time. You may not use this product
  16. in a commercial environment or a government organization without paying a
  17. license fee of $25.00.
  18.  
  19. NOTE: If you fail to pay me for the use of this product, I probably won't be
  20. too likely to listen to your suggestions for this or future products.
  21.  
  22. This product was developed and tested using the AmigaDOS 1.3 omega 9
  23. Workbench release, and the Manx Aztec C compiler release 3.6a, although it
  24. should also work with Workbench release 1.2. This distribution consists of
  25. release 1.4 of the print spooler and associated programs.
  26.  
  27. If you experience any problems while using this software, or if you have
  28. suggestions for improvement, please let me know as soon as possible.
  29. My BIX name is dbarrans, and my CIS user ID is 75036,2230. The preferred
  30. method is thru BIX, because I am not on CIS that often.
  31.  
  32.                         Dan Barrans - 26 Sep 1988
  33.  
  34. Send your money to:
  35.  
  36.     Daniel L. Barrans
  37.     P.O. Box 522
  38.     Seabrook, MD 20706
  39.  
  40.  
  41. WHAT IS THIS STUFF ANYWAY?
  42.  
  43. This distribution contains a DOS handler, a print program, and a control
  44. program. The DOS handler sits and waits for stuff to be sent to it to be
  45. printed, just like you would send stuff to PRT: to be printed. The difference
  46. is that this handler makes a temporary copy of the stuff to be printed in a
  47. file on disk somewhere (you decide where), prints the copy at its leisure,
  48. then deletes the copy. The advantages to you are that you get your CLI
  49. prompt back faster, you can continue to edit and/or delete the original
  50. file without messing up what's being printed, and you don't need to worry
  51. about the printer being busy when you want to start another print job. The
  52. main disadvantage is that you need enough disk space available to hold the
  53. temporary files until they are printed. This can theoretically be in any
  54. filesystem in RAM, floppy, or hard disk.
  55.  
  56. The print program is just a simple formatted print program I wrote a couple
  57. of years ago that I've adapted to use this handler. It can do line numbering
  58. and page headers, and looks at the current preferences settings to determine
  59. what it can fit on a page.
  60.  
  61. The control program lets you do stuff like listing the files waiting to be
  62. printed, rearrange the order of printing, cancel print jobs, and suspend
  63. and resume the operation of the printer.
  64.  
  65. The print and control programs need arp.library version 1.1 (or later) in
  66. your Libs: directory, but the handler itself does not need the ARP library.
  67.  
  68.  
  69. PRINT SPOOLER INSTALLATION INSTRUCTIONS:
  70.  
  71. The distribution contains these files:
  72.  
  73.     spool-handler    This is the AmigaDOS handler for the print spooler.
  74.             It should be copied to your L: directory.
  75.  
  76.     Mountlist    The contents of this file should be added to your
  77.             Devs:Mountlist file.
  78.  
  79.     Print        This is an ARP command program that prints files
  80.             to the spool handler. It should be copied to your
  81.             C: directory (or somewhere in your search path), and
  82.             it needs arp.library version 1.1 (or later) to run.
  83.  
  84.     PrintC        This is an ARP command program that allows you to
  85.             control printing of spooled print jobs. It should
  86.             be copied to your C: directory (or somewhere in your
  87.             search path), and it needs arp.library version 1.1
  88.             (or later) to run.
  89.  
  90.     RemPRT        This is a program to use for removing the standard
  91.             PRT: handler so it can be replaced by the spool
  92.             handler. This should be copied to your C: directory
  93.             (or somewhere in your search path).
  94.  
  95.     Readme        This file. Put it where you can refer to it if you
  96.             forget how to use the other files.
  97.  
  98.  
  99. After the above files are copied to the appropriate places, you should edit
  100. your S:Startup-Sequence file to include the following commands:
  101.  
  102.     Assign SPOOL: RAM:
  103.     RemPRT
  104.     Mount PRT:
  105.  
  106. The Assign command tells the spool handler where to put the temporary copies
  107. of the files to be printed. You may change this assignment to another
  108. directory if you wish. If you do not assign a spool directory, the spool
  109. handler will function just like the standard AmigaDOS print handler, without
  110. creating spool files.
  111.  
  112. The RemPRT command tells AmigaDOS to remove the standard PRT: handler
  113. from the device list so the new handler can be added. This command may be
  114. replaced with "Assign PRT: REMOVE" if you are using AmigaDOS 1.3.
  115.  
  116. The Mount command tells AmigaDOS to mount the spool handler as PRT: so it is
  117. available for use. The Print and PrintC command programs automatically use
  118. the PRT: handler, and other programs can use the new PRT: handler just like
  119. they use the standard PRT: handler.
  120.  
  121.  
  122. HOW THE PRINT SPOOLER WORKS:
  123.  
  124. The print spooler is an AmigaDOS handler that runs when a program opens PRT:.
  125. When PRT: is opened, the handler creates a temporary disk file for the output
  126. of the program that opened it, and writes the program's output to the disk
  127. file instead of the printer. When the program closes PRT:, the handler then
  128. starts another process to print the file. Any number of programs can open the
  129. spool handler at the same time, and their output will be printed in the order
  130. they finish writing to the handler. After all files are printed, the handler
  131. releases all resources it has allocated, and the printer is available to any
  132. other program that wants to use it.
  133.  
  134. The spool handler only tries to allocate the printer when it has a file
  135. ready to print. If another program is using the printer at this time, the
  136. spool handler will wait until the printer becomes available, then allocate
  137. it and start printing. You can have as many programs as you want writing to
  138. the spool handler at the same time, and they will be printed in sequence. The
  139. handler is designed to keep track of all processes using it, independent of
  140. each other, limited only by the amount of available system memory and the
  141. amount of available disk space in the spool directory.
  142.  
  143. You can determine where the handler creates its temporary spool files by
  144. changing the assignment for the SPOOL: directory. This can be changed at any
  145. time, but the handler only looks at it when it first starts a new batch of
  146. print jobs. To change the spool directory, just wait until there are no jobs
  147. waiting to print, and reassign the SPOOL: directory.
  148.  
  149. NOTE: The spool handler acquires a lock on the directory currently assigned
  150. to SPOOL:. If this directory is on a volume that is not currently mounted,
  151. you will get a requester asking you to mount the volume when you try to open
  152. the spool handler.
  153.  
  154.  
  155. COMMAND DESCRIPTIONS
  156.  
  157.  
  158. NAME
  159.     Print - Print files
  160.  
  161. SYNOPSIS
  162.     Print FILES NONUM/S NOHDR/S NOFORM/S VERBOSE/S
  163.  
  164. DESCRIPTION
  165.     Print formats and copies the contents of the file or files
  166.     of its FILES argument to the AmigaDOS PRT: handler.
  167.  
  168.     You may specify any number of filenames (including wildcarded
  169.     filenames) for the FILES argument, which will cause all the named
  170.     files to be printed on the printer, after first being copied to
  171.     the print spooler's spool directory. As soon as this command is
  172.     finished, you are free to do anything you want with the original
  173.     files, because the spooler is printing from a temporary copy of
  174.     each file, not the original.
  175.  
  176.     The Print command examines the current Preferences settings for
  177.     the printer to determine how many lines to print between page
  178.     breaks. It prints a page header at the top of each page, containing
  179.     the file name, last modification date, and page number, and prints
  180.     each line of the file prefixed with a line number.
  181.  
  182.     This program will work with either the standard AmigaDOS print
  183.     handler, or with the spool handler. If you have an especially large
  184.     file to print that will not fit into the spool directory, remove the
  185.     spool directory assignment using "assign spool:" and then wait for
  186.     the spooler to finish printing any spooled files. Then you can use
  187.     Print to print your large file without spooling it.
  188.  
  189.     The behavior of Print may be modified by using the following
  190.     switches:
  191.  
  192.     NONUM -    this switch will cause Print to not print line numbers at
  193.         the beginning of each line of text.
  194.  
  195.     NOHDR -    this switch will cause Print to not print page headers at
  196.         the top of each page of output.
  197.  
  198.     NOFORM - this switch will cause Print to not do a page eject between
  199.         pages, but to print continuously over the page breaks.
  200.  
  201.     VERBOSE - this switch will cause Print to display the name of each
  202.         file as it is being sent to the spool handler.
  203.  
  204. EXAMPLES
  205.     Print filename NONUM ; The file will be printed without line numbers.
  206.     Print *.c NOHDR         ; The files will be printed without headers.
  207.  
  208.  
  209.  
  210. NAME
  211.     PrintC - Print spooler control
  212.  
  213. SYNOPSIS
  214.     PrintC OPTION JOBS
  215.  
  216. DESCRIPTION
  217.     PrintC allows the user to control various aspects of print spooler
  218.     operation. If the spooler is not installed, or if no spool directory
  219.     is assigned, then PrintC will display an error message.
  220.  
  221.     The desired behaviour of PrintC may be specified by using one of the
  222.     following OPTIONs. Each option may be abbreviated by using the first
  223.     letter of the option, instead of the entire option name.
  224.  
  225.     QUERY -    query the spool handler to find out about the print jobs
  226.         queued in the print queue. This option may not be followed
  227.         by job numbers. This will display information about queued
  228.         print jobs, like this:
  229.  
  230.          job    status    filesize    jobname
  231.            1    active        4285    debug.c
  232.            2    queued        7732    misc.c
  233.            3    queued        7349    (no name)
  234.            4    queued       23763    spool-handler.c
  235.            5    queued        5871    printc.c
  236.  
  237.         The job number identifies the print job to PrintC when
  238.         using other options.
  239.  
  240.         The status shows the current state of the print job. The
  241.         possible status strings are:
  242.  
  243.             active - this job is currently printing.
  244.             queued - this job is waiting to print.
  245.             open   - this job is currently being spooled.
  246.             cancel - this job has been cancelled.
  247.  
  248.         The filesize shows the size in bytes of the spooled file.
  249.  
  250.         The jobname identifies the spooled file. If you send output
  251.         to the spool handler as PRT:filename, then filename will show
  252.         up as the jobname. Otherwise, the jobname will be "(no name)".
  253.         There is one output filename that has a special meaning to the
  254.         spool handler. If you use the name "PRT:raw", then the
  255.         spooled output will be sent directly to the printer without
  256.         being translated by the printer device.
  257.  
  258.         If the print spooler is suspended, the above status display
  259.         will be preceded by "printing is suspended".
  260.  
  261.     CANCEL - cancel the specified print jobs. If a job is active, the
  262.         print will be aborted, and the next queued job will start
  263.         printing. If a job is queued, it will simply be removed from
  264.         the print queue.
  265.  
  266.     NEXT -    move the specified print jobs to next in line to be printed.
  267.         If a job is already printing, it cannot be moved around in
  268.         the print queue.
  269.  
  270.     LAST -    move the specified print jobs to last in line to be printed.
  271.         If a job is already printing, it cannot be moved around in
  272.         the print queue.
  273.  
  274.     SUSPEND - suspend printing all queued print jobs. The current job
  275.         and all queued jobs will be suspended. The printer device
  276.         will not be made available to any other program which uses
  277.         it directly (such as the standard PRT: handler) until
  278.         printing is resumed and completed, or all print jobs are
  279.         cancelled.
  280.  
  281.         NOTE: Some printers have an internal buffer which may take
  282.         some time to empty before printing actually stops.
  283.  
  284.     RESUME - resume printing all queued print jobs. If there are queued
  285.         print jobs, they will resume printing. Otherwise, nothing
  286.         visible will happen.
  287.  
  288. EXAMPLES
  289.     PrintC QUERY        ; Show the queued print jobs.
  290.     PrintC CANCEL 1 3 4 5    ; Cancel print jobs 1, 3, 4, and 5.
  291.     PrintC NEXT 4 6        ; Move print jobs 4 and 6 to next in line.
  292.     PrintC LAST 2        ; Move print job 2 to last in line.
  293.  
  294.  
  295.  
  296. NAME
  297.     RemPRT - Remove the PRT: handler
  298.  
  299. SYNOPSIS
  300.     RemPRT
  301.  
  302. DESCRIPTION
  303.     RemPRT removes the PRT: handler from the AmigaDOS device list. This
  304.     should be run from your Startup-Sequence file, or before PRT: is
  305.     used. If the PRT: handler code has already been loaded, this command
  306.     will not remove the handler, but will display an error message.
  307.  
  308. EXAMPLES
  309.     RemPRT            ; remove the PRT: handler.
  310.     Mount PRT:        ; mount the new handler.
  311.